/*
 * @Description: 角色api 类型
 * @Author: chenju
 * @Date: 2021-11-08 15:37:36
 * @LastEditors: chenju
 * @LastEditTime: 2023-01-17 16:32:43
 */

// 全部组织列表 请求出参
export type GetOrganizationListResult = {
  //
  id: number;
  //
  organizationCode: string;
  //
  organizationName: string;
  //
  parentId: string;
  //
  parentCode: string;
  //
  rootCode: string;
  //
  level: number;
  //
  isLeaf: boolean;
  //
  sort: number;
  // 公司名称
  companyName: string;
}[];

// 添加组织 请求入参
export interface AddOrganizationParams {
  // 父节点Id
  parentId: string;
  // 组织名称
  organizationName: string;
  // 企业名称
  companyName: string;
  // 企业地址
  companyAddress: string;
  // 	省代码
  province: string;
  // 市代码
  city: string;
  // 联系人
  contact: string;
  // 联系电话
  contactPhone: string;
  // 	联系邮箱
  contactEmail: string;
  /**
   * 统一社会信用代码
   */
  uscc?: string;
  /**
   * 公司类型
   */
  companyType?: string;
  /**
   * 法人
   */
  legalPerson?: string;
  /**
   * 成立日期
   */
  establishmentDate?: string;
  /**
   * 注册资本
   */
  registeredCapital?: string;
  /**
   * 注册地址
   */
  registeredAddress?: string;
  /**
   * 所属行业
   */
  industry?: string;
  /**
   * 经营范围
   */
  businessScope?: string;
  organizationCategory: string;
  tag: string;
}
// 编辑组织 请求入参
export interface EditOrganizationParams {
  // 组织id
  id?: string;
  // 组织名称
  organizationName: string;
  // 企业名称
  companyName: string;
  // 企业地址
  companyAddress: string;
  // 	省代码
  province: string;
  // 市代码
  city: string;
  // 联系人
  contact: string;
  // 联系电话
  contactPhone: string;
  // 	联系邮箱
  contactEmail: string;
  /**
   * 统一社会信用代码
   */
  uscc?: string;
  /**
   * 公司类型
   */
  companyType?: string;
  /**
   * 法人
   */
  legalPerson?: string;
  /**
   * 成立日期
   */
  establishmentDate?: string;
  /**
   * 注册资本
   */
  registeredCapital?: string;
  /**
   * 注册地址
   */
  registeredAddress?: string;
  /**
   * 所属行业
   */
  industry?: string;
  /**
   * 经营范围
   */
  businessScope?: string;
  organizationCategory: string;
  tag: string;
}

// 获取组织树列表 请求出参
export interface GetOrganizationTreeResult {
  // id
  id: number;
  // 组织编码
  organizationCode: string;
  // 组织名称
  organizationName: string;
  // 父节点Id
  parentId: number;
  // 父节点编码
  parentCode: string;
  // 根节点编码
  rootCode: string;
  // 排序
  sort: string;
  // 层级
  level: number;
  // 	是否叶子结点
  isLeaf: boolean;
  // 	是否勾选
  enable: boolean;
  // 叶子节点
  children: GetOrganizationTreeResult[];
}

// 新增用户组织关联 请求入参
export interface AddUserOrganizationParams {
  // 用户Id
  userId: string | number;
  // 组织Id
  organizationId: string | number;
}

// 查看组织详情 请求出参
export interface GetOrganizationDetailResult {
  // 组织Id
  id: string;
  // 组织名称
  organizationName: string;
  // 企业名称
  companyName: string;
  // 企业地址
  companyAddress: string;
  // 	省代码
  province: string;
  // 省名称
  provinceName: string;
  // 市代码
  city: string;
  // 市名称
  cityName: string;
  // 联系人
  contact: string;
  // 联系电话
  contactPhone: string;
  // 	联系邮箱
  contactEmail: string;

  userList: userItem[];
  /**
   * 统一社会信用代码
   */
  uscc?: string;
  /**
   * 公司类型
   */
  companyType?: string;
  /**
   * 法人
   */
  legalPerson?: string;
  /**
   * 成立日期
   */
  establishmentDate?: string;
  /**
   * 注册资本
   */
  registeredCapital?: string;
  /**
   * 注册地址
   */
  registeredAddress?: string;
  /**
   * 所属行业
   */
  industry?: string;
  /**
   * 经营范围
   */
  businessScope?: string;
  /**
   * 组织标签
   */
  tag: string;
}

export interface userItem {
  // 用户Id
  userId: string;
  // 用户账户
  username: string;
  // 用户名称
  realName: string;
}

export interface MoveOrganizationParams {
  // 组织Id
  id: string;
  // 移动后的父Id
  parentId: string;
}

export interface GetOrganizationTreeByUserResult {
  // id
  id: number;
  // 组织编码
  organizationCode: string;
  // 组织名称
  organizationName: string;
  // 父节点Id
  parentId: number;
  // 父节点编码
  parentCode: string;
  // 根节点编码
  rootCode: string;
  // 排序
  sort: string;
  // 	是否叶子结点
  isLeaf: boolean;
  // 	是否勾选
  enable: string;
  // 叶子节点
  children: GetOrganizationTreeByUserResult[];
}

// 获取当前用户组织列表 返回参数
export interface GetCurrentOrganizationListResult {
  // 组织编号
  organizationCode: string;
  // 组织名称
  organizationName: string;
}

export interface GetCurrentOrganizationListResult {
  // 组织编号
  organizationCode: string;
  // 组织名称
  organizationName: string;
}

// 下拉用户列表
export interface GetUserListResult {
  // 用户Id
  id: string;
  // 用户账号
  username: string;
  // 用户名称
  realName: string;
  // 电话
  phone: string;
}

/**
 * 获取指定组织下所有工厂组织信息 返回结果
 */
export interface GetChildFactoryOrgResult {
  /**
   * 组织名称
   */
  orgName: string;
  /**
   * 组织code
   */
  orgCode: string;
  /**
   * 父级组织code
   */
  parentCode: string;
}
[];
